package me.wpf.utils;

import lombok.Data;

/**
 * Description: 连接池配置
 *
 * @author 王朋飞
 * @create 2019/11/6
 */
@Data
public class ElasticSearchPoolConfig {
    /**
     * 池中最多可容纳的实例（instances）个数8->200,(是指pool中最多能保留多少个空闲对象)
     */
    Integer maxIdle = 8;
    /**
     * 池中最少需要容纳的实例（instances）个数0->1,(是指pool中最少有多少个空闲对象)
     */
    Integer minIdle = 1;
    /**
     * 池中最多可用的实例个数8->200
     */
    Integer maxTotal = 10;
    /**
     * 调用borrowObject方法时，当连接满时最多需要等待的最长时间-1->4000
     */
    Integer maxWaitMillis = 4000;
    /**
     * 池中处于空闲状态的对象每次被检测是否回收时最多只检测3个处于空闲状态的对象,比如该值设置为3,此时池中有5个闲置对象,那么每次只会检查前三个闲置对象3->10
     */
    Integer numTestsPerEvictionRun = 3;
    /**
     * 池中对象处于空闲状态开始到被回收的最短时间1800000
     */
    Integer minEvictableIdleTimeMillis = 1800000;
    /**
     * 当空闲线程大于minIdle 空闲连接能够保留时间，同时指定会被上面的覆盖
     * 池中对象处于空闲状态开始到被回收的最短时间3
     */
    Integer softMinEvictableIdleTimeMillis = 3000;
    /**
     * 如果一个对象borrow之后10秒还没有返还给pool，认为是泄漏的对象
     */
    Integer removeAbandonedTimeout = 10;
    /**
     * 5秒运行一次维护任务
     */
    Integer timeBetweenEvictionRunsMillis = 5000;



}
